<template>
	<zui-box>
		<!-- 头部导航 -->
		<zui-navbar title="我的优惠券"></zui-navbar>
		<u-gap height="30rpx"></u-gap>
		
		
		<mescroll-body :height="mescroll_height +'px'" ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption"
				:up="upOption">
				
				
		<view class="tabs_box">
			<u-tabs
				lineColor="#FFE5A5"
				:current="record_type"
				:activeStyle="{ color: '#FFE5A5' }"
				:inactiveStyle="{ color: '#9D97A7' }"
				:list="tab_list"
				@click="tabchange"
			></u-tabs>
		</view>
		
		
		<u-gap height="30rpx"></u-gap>
		<view class="list">
			<view class="item" v-for="val in list" :key="val.id">
				<zui-flat padding="0">
					<zui-panel>
						<template v-slot:left>
							<view class="coupon_box " :class="val.state != 1 ? 'over' : ''">
								<view class="price">{{ val.conf.coupon_price }}</view>
								<!-- <u-gap height="10rpx"></u-gap> -->
								<!-- <view class="text">200元抵500元</view> -->
							</view>
						</template>
						<template v-slot:col>
							<zui-col height="200rpx">
								<view class="name">{{ val.conf.coupon_name }}</view>
								<u-gap height="10rpx"></u-gap>
								<view class="num">领取时间:{{ val.create_time }}</view>
								<view class="num">到期时间:{{ val.expire_time }}</view>
							</zui-col>
						</template>
					</zui-panel>
				</zui-flat>
				<u-gap height="30rpx"></u-gap>
			</view>

		<!-- 	<view class="" v-if="list.length === 0"><u-empty mode="coupon" text=" "></u-empty></view>
			<u-loadmore status="status" :icon-type="iconType" :load-text="loadText" /> -->
		</view>
		
			</mescroll-body>
	</zui-box>
</template>

<script>
	import MescrollMixin from '@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js';
	export default {
		mixins: [MescrollMixin,uni.$u.mpMixin, uni.$u.mixin],
	data() {
		return {
			page: 1,
			list: [],
			// 下拉刷新的配置(可选, 绝大部分情况无需配置)
			downOption: {
				auto: false //是否在初始化后,自动执行downCallback; 默认true
			},
			upOption: {
				auto: false // 是否在初始化完毕之后自动执行上拉加载的回调; 默认true
			},
			mescroll_height:'',
			type: 1,
			record_type: 0,
			
			tab_list: [
				{
					name: '未使用',
					status: '1'
				},
				{
					name: '已使用',
					status: '2'
				},
				{
					name: '已过期',
					status: '3'
				}
			]
		};
	},
	
	created() {
		let that = this;
		   uni.getSystemInfo({ 
			success(res) {
			console.log('一',res.windowHeight); //可使用窗口高度
			that.mescroll_height = res.windowHeight - that.$u.getPx(uni.$u.props.navbar.height) - that.$u.sys().statusBarHeight -80
			
			console.log('二',that.mescroll_height)
			}
		})
	},
	onShow() {
		this.$nextTick(()=>{
			this.mescroll.resetUpScroll();
		})
	},
	onLoad() {
		// this.getdata();
	},
	methods: {
		tabchange(data) {
			this.record_type = data.index;
			this.page = 1;
			this.list = [];
			this.mescroll.resetUpScroll();
		},
		
		//下拉刷新的回调, 重置列表为第一页 (此处可删,mixins已默认)
		downCallback() { 
			setTimeout(() => {
				this.mescroll.resetUpScroll();
			}, 1000);
		},
		/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
		 upCallback(page) {
			 
			uni.$u.http
				.get('/app/coupon/list', {
					params: {
						page: page.num,
						state: this.record_type + 1
					},
					custom: {
						auth: true,
						toast: false,
						catch: false,
					},
				})
				.then(res => {
					console.log('返回的数据', res);
					this.mescroll.endSuccess(res.list.length);
					//设置列表数据
					if (page.num == 1) this.list = []; //如果是第一页需手动制空列表
					this.list = this.list.concat(res.list); //追加新数据
		
				})
				.catch(res => {
					this.mescroll.endErr();
				});
		},
		
		
		
		// getdata() {
		// 	this.status = 'loading';
		// 	uni.$u.http
		// 		.get('/app/coupon/list', {
		// 			params: {
		// 				page: this.page,
		// 				state: this.record_type + 1
		// 			},
		// 			custom: {
		// 				auth: true,
		// 				toast: true,
		// 				catch: true
		// 			}
		// 		})
		// 		.then(res => {
		// 			if (res.list.length == 0) {
		// 				this.status = 'nomore';
		// 			} else {
		// 				this.status = 'loadmore';
		// 				this.list = [...this.list, ...res.list];
		// 				if (res.page > res.total_page) {
		// 					this.status = 'nomore';
		// 				}
		// 				this.page++;
		// 			}
		// 		})
		// 		.catch(err => {});
		// }
	},
	// onReachBottom() {
	// 	if (this.status == 'loadmore') {
	// 		this.getdata();
	// 	}
	// }
};
</script>

<style lang="scss" scoped>
.name {
	font-size: 24rpx;
	color: #fff;
}

.num {
	font-size: 20rpx;
	color: #fff;
}

.coupon_box {
	border-radius: 10rpx 0 0 10rpx;
	width: 200rpx;
	height: 200rpx;
	display: flex;
	flex-flow: column;
	justify-content: space-around;
	padding: 40rpx 0;
	box-sizing: border-box;
	text-align: center;
	background: radial-gradient(circle at right top, transparent 16rpx, #eeae4f 0) right top / 100% 50% no-repeat,
		radial-gradient(circle at right bottom, transparent 16rpx, #eeae4f 0) right bottom / 100% 50% no-repeat;
	color: #fff;

	.price {
		font-size: 40rpx;
	}

	.text {
		font-size: 20rpx;
	}

	&.over {
		background: radial-gradient(circle at right top, transparent 16rpx, #9d97a7 0) right top / 100% 50% no-repeat,
			radial-gradient(circle at right bottom, transparent 16rpx, #9d97a7 0) right bottom / 100% 50% no-repeat;
	}
}
.list {
	// padding-bottom: 100rpx;
}
/deep/.tabs_box {
	display: flex;
	justify-content: center;
}

/deep/.u-tabs__wrapper__nav__item {
	padding: 0 60rpx;
}

	
	/* //空数据 */
		/deep/.mescroll-empty {
			box-sizing: border-box;
			width: 100%;
			padding: 300rpx 50rpx;
			text-align: center;
		}
		
		
</style>
